﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;

public partial class Controls_UC_Giohang : System.Web.UI.UserControl
{
    static DataTable tbGioHang = new DataTable();
    protected void Page_Load(object sender, EventArgs e)
    {
        Page.Title = "Giỏ hàng của bạn";
        if (!IsPostBack)
        {

            gvGiohang.Attributes.Add("onkeypress", "return clickButton(event,'" + btnCapnhat.ClientID + "')");
            if (Session["GioHang"] == null)
            {
                Response.Redirect("~/Trangchu.aspx");
            }
            else
            {
                tbGioHang = (DataTable)Session["GioHang"];
                if (tbGioHang.Rows.Count > 0)
                {
                    string strnumber = string.Format("{0:0,0}",float.Parse(tbGioHang.Compute("Sum(TongTien)", "").ToString()));
                    ltrTongTien.Text = "Tổng tiền: <span class='number'>" + strnumber + "</span><span class='VND'> VND</span>";
                    gvGiohang.DataSource = tbGioHang;
                    gvGiohang.DataBind();
                }
                else
                {
                    ltrThongbao.Text = "<h3>Giỏ hàng của bạn hiện không có sản phẩm nào</h3>";
                    btnCapnhat.Visible = false;
                    btnDathang.Visible = false;
                    btnMuatiep.Visible = false;
                    btnXoagohang.Visible = false;
                }
               
            }

        }
    }
    protected void gvGiohang_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        if (e.CommandName.ToString() == "lbnXoa")
        {

            int idSP = int.Parse(e.CommandArgument.ToString());
            DataTable dt = new DataTable();
            int dong = -1;
            try
            {
                dt = (DataTable)Session["GioHang"];
                
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    if (int.Parse(dt.Rows[i]["idSP"].ToString()) == idSP)
                    {
                        dong = i;
                        break;
                    }
                }
                dt.Rows.RemoveAt(dong);
                Session["GioHang"] = dt;
                Response.Redirect("~/Giohang.aspx");
                //Response.Write("xnbvhkshggsdhfsdkjhfj");
            }
            catch
            {
                Response.Redirect("~/Giohang.aspx");
                //Response.Write(dong.ToString());
            }
        }
    }
    protected void btnMuatiep_Click(object sender, EventArgs e)
    {
        Response.Redirect("~/Trangchu.aspx");
    }
    protected void btnDathang_Click(object sender, EventArgs e)
    {
        if (Session["UserName"] == null)
        {
            Response.Write("<script> alert('Bạn phải đăng nhập mới được đặt hàng')</script>");
        }
        else
        {
            Response.Redirect("~/Dathang.aspx");
        }
    }
    protected void btnXoagohang_Click(object sender, EventArgs e)
    {
        Session["GioHang"] = null;
        Response.Redirect("~/Trangchu.aspx");
    }
    protected void btnCapnhat_Click(object sender, EventArgs e)
    {
        
        DataTable dt = (DataTable)Session["GioHang"];
        bool kt = true;
        
        foreach (GridViewRow r in gvGiohang.Rows)
        {
            var id = (Label)r.Cells[0].FindControl("lblIdSP");
            
            foreach (DataRow dr in dt.Rows)
            {
                
                if (int.Parse(id.Text) == int.Parse(dr["idSP"].ToString()))
                {
                    TextBox t = (TextBox)r.Cells[3].FindControl("txtSoLuong");
                    try
                    {
                        if (Convert.ToInt32(t.Text) > 0 && Convert.ToInt32(t.Text)<=100)
                           
                        {  
                            //if (Convert.ToInt32(t.Text) > 100) t.Text = "100";
                            dr["SoLuong"] = t.Text;
                        }
                        else
                        {
                            Page.Title = "Lỗi vui lòng kiểm tra lại";
                            ltrThongbao.Text = "Lỗi vui lòng kiểm tra lại. Số lượng chỉ trong khoảng từ 1 đến 100. Xin cảm ơn!";
                            kt = false;
                        }
                        break;
                    }
                    catch 
                    {
                        Page.Title = "Lỗi vui lòng kiểm tra lại";
                        ltrThongbao.Text = "Lỗi vui lòng kiểm tra lại. Số lượng chỉ trong khoảng từ 1 đến 100. Xin cảm ơn!";
                        kt = false;
                        //t.Text = "100";
                        //dr["SoLuong"] = t.Text;
                        
                    }
                    
                }
            }
        }
        Session["Giohang"] = dt;
        if (kt) Response.Redirect("~/Giohang.aspx");
        
    }
    public string dinhdangtien(string money)
    {
        return string.Format("{0:0,0}", float.Parse(money));
    }
    
}